package w83b.w83bManager;

import java.util.List;

import org.apache.commons.lang.StringUtils;

import w83b.w83bBeans.W83bRespAreaBean;
import w83b.w83bBeans.W83bUsuarioXLNetsBean;
import w83b.w83bDAO.W83bFactoriaDAO;


public class W83bRespArea implements W83bIRespArea {
	public java.util.List buscarRespArea(w83b.w83bBeans.W83bRespAreaBean param) throws Exception{
		
		//TODO
		List listaRespArea=W83bFactoriaDAO.getMantenimientosDAO().buscarRespArea(param);
		
		return listaRespArea;	
	}
	
	
	public w83b.w83bBeans.W83bRespAreaBean detalleRespArea(w83b.w83bBeans.W83bRespAreaBean param) throws Exception{
		
		//TODO
		w83b.w83bBeans.W83bRespAreaBean responsable = W83bFactoriaDAO.getMantenimientosDAO().detalleRespArea(param);
		
		return responsable;	
	}

	public java.lang.String anyadirRespArea(W83bRespAreaBean param)
			throws Exception {
		
		if(StringUtils.isEmpty(param.getCodigoResponsable())){
			String cod = W83bFactoriaDAO.getMantenimientosDAO().contarResponsablesArea();
			cod = String.valueOf(Integer.parseInt(cod)+1);//NOPMD
			param.setCodigoResponsable(cod);
		}else{
			//Verificar que no existe ya la clave primaria. 
			boolean existeResponsable = W83bFactoriaDAO.getMantenimientosDAO().existeTerritorio(param.getCodigoResponsable());
			//si hace el return de abajo, no hace nada mas de codigo, por eso no es else!
			if(existeResponsable){
				return "-1";
			}
		}
		boolean existeResponsable = W83bFactoriaDAO.getMantenimientosDAO().existeProvinciaPerfil(param.getTerritorio(),param.getPerfilId());
		if(existeResponsable){
			return "-2";
		}
		
		
		String responsable = W83bFactoriaDAO.getMantenimientosDAO().anyadirRespArea(param); 

		return responsable;
	}
	
	public String modificarRespArea(W83bRespAreaBean param)
	throws Exception {
		
		//TODO
		String resultado =  W83bFactoriaDAO.getMantenimientosDAO().modificarRespArea(param);		
		
		return resultado;
	}
	
	public java.lang.String borrarRespArea(java.util.ArrayList param) 
	throws Exception {
		W83bUsuarioXLNetsBean userBean = (W83bUsuarioXLNetsBean)param.get(param.size()-1);
		param.remove(param.size()-1);
		
		//TODO
		String resultado =  W83bFactoriaDAO.getMantenimientosDAO().borrarRespArea(param,userBean);		
		
		return resultado;
	}

}